Package mscJNeuralNet.netPerformanceStatistics

Dieses Packet enthält Klassen zur Berechnung der Fehler Ist-Soll-Werte eines Netzes und damit der Netzperformanz.

See:
          Description

Class Summary
LightWeightNetPerformanceStatistics Diese Klasse enthält Informationen zu verschiedenen Netzfehlern.
NetPerformanceReporter Diese Klasse dient der Erzeugung eines Berichtes über die berechneten Ist-Soll Fehlerwerte eines Netzes.
NetPerformanceStatistics Diese Klasse enthält Informationen zu verschiedenen Netzfehlern.
NetPerformanceStatisticsCalculator Diese Klasse berechnet die aktuellen Ist-Soll Fehlerwerte eines Netzes.
 

Package mscJNeuralNet.netPerformanceStatistics Description

Dieses Packet enthält Klassen zur Berechnung der Fehler Ist-Soll-Werte eines Netzes und damit der Netzperformanz.
Es stehen vier Haupt-Fehlertypen zur Verfügung, die Abgerufen werden können:

  • average sum of absolute errors (avg. ABSE): Durchschnitt der Summe aller absoluten Fehlerbeträge berechnet als:
    Durchschnitt der absoluten Summen aller Lerndatensätze = 0
    Für alle Lerndatensätze
      Summe Absoluter Fehler aktueller Lerndatensatz = 0
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Absoluter Fehler aktuelles Neuron = 
          Math.abs(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron)
    
        // Summe der Fehler für einen Lerndatensatz
        Summe Absoluter Fehler aktueller Lerndatensatz +=
          absoluter Fehler aktuelles Neuron;
      
      Durchschnitt der absoluten Summen aller Lerndatensätze += 
        Summe Absoluter Fehler aktueller Lerndatensatz
    
    Durchschnitt der absoluten Summen aller Lerndatensätze /= 
      Anzahl Lerndatensätze
    
  • average sum of squared errors (avg. SSE): Durchschnitt der Fehlerquadratsummen aller Lerndatensätze berechnet als:
    Durchschnitt der quadratischen Fehler aller Lerndatensätze = 0
    Für alle Lerndatensätze
      Summe der quadratischen Fehler aktueller Lerndatensatz = 0
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Quadratischer Fehler aktuelles Neuron = 
          Math.pow(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron, 2.0);
    
        // Summe der Fehler für einen Lerndatensatz
        Summe der quadratischen Fehler aktueller Lerndatensatz +=
          Quadratischer Fehler aktuelles Neuron;
      
      Durchschnitt der quadratischen Fehler aller Lerndatensätze += 
        Summe der quadratischen Fehler aktueller Lerndatensatz
    
    Durchschnitt der quadratischen Fehler aller Lerndatensätze /= 
      Anzahl Lerndatensätze
    
  • average root mean square errors (avg. RMSE): Durchschnitt der Quadratwurzeln der quadratischen Fehler aller Lerndatensätze berechnet als:
    Durchschnitt der Quadratwurzeln der quadratischen Fehler aller Lerndatensätze = 0
    Für alle Lerndatensätze
      Summe der quadratischen Fehler aktueller Lerndatensatz = 0
      Quadratwurzel der quadratischen Fehler aktueller Lerndatensatz = 0
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Quadratischer Fehler aktuelles Neuron = 
          Math.pow(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron, 2.0);
    
        // Summe der Fehler für einen Lerndatensatz
        Summe der quadratischen Fehler aktueller Lerndatensatz +=
          Quadratischer Fehler aktuelles Neuron;
      
      Quadratwurzel der quadratischen Fehler aktueller Lerndatensatz = 
        Math.sqrt(
          Summe der quadratischen Fehler aktueller Lerndatensatz /
          Anzahl der Ausgabeneuronen)
    
    Durchschnitt der Quadratwurzeln der quadratischen Fehler aller Lerndatensätze /= 
      Anzahl Lerndatensätze
    
  • maximum ABSE by a single output neuron (max. neuron ABSE): Maximaler absoluter Fehlerbetrag eines einzelnen Ausgabeneurons. Hiermit kann festgestellt werden, welches Neuron den größten absoluten Fehlerbetrag für ein Lerndatensatz erzeugt. Es wird berechnet als:
    Maximaler absoluter Fehlerbetrag eines Neurons = -1D
    Index des Neurons mit max. Fehlerbetrag = 0
    Index des Lerndatensatzes mit max. Fehlerbetrag = 0;
    Für alle Lerndatensätze
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Absoluter Fehler aktuelles Neuron = 
          Math.abs(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron)
          // Grösster Fehler für ein einzelnes Neuron
          wenn (Absoluter Fehler aktuelles Neuron > 
                Maximaler absoluter Fehlerbetrag eines Neurons)
          dann
            Maximaler absoluter Fehlerbetrag eines Neurons =
              Absoluter Fehler aktuelles Neuron
            Index des Neurons mit max. Fehlerbetrag =
              Index aktuelles Neuron
            Index des Lerndatensatzes mit max. Fehlerbetrag = 
              Index aktueller Lerndatensatz
    
  • Es gibt zwei Klassen, welche die berechneten Fehlerwerte speichern:
    NetPerformanceStatistics und
    LightWeightNetPerformanceStatistics

    Die Klasse NetPerformanceStatistics enthält alle berechneten Zwischenschritte wie Fehlerwerte für einzelne Lerndatensätze oder die Lerndatensätze selbst. Daher hat diese Klasse einen sehr hohen Speicherverbrauch. Daher existiert auch eine "Leichte"-Version dieser Klasse, die nur die Hauptfehlerdaten enthält.

    Die Klasse NetPerformanceStatisticsCalculator berechnet alle Werte, die in einer der oben genannten Klassen gespeichert werden.

    Die Klasse NetPerformanceReporter kann aus den berechneten Werten eine Stringrepräsentation in Form eines Berichtes erzeugen.


    mscJNeuralNet

    Author:
    M. Serhat Cinar